/*
 * @lc app=leetcode.cn id=300 lang=javascript
 *
 * [300] 最长递增子序列
 */

// @lc code=start
/**
 * @param {number[]} nums
 * @return {number}
 */

// f(i) 到达i时的最长递增子序列
var lengthOfLIS = function(nums) {
  let n = nums.length;
  let f = new Array(n);
  let ans = 0;
  for (let i = 0; i < n; i++) {
    f[i] = 1;
    // j表示 i的前一个合格元素
    for (let j = 0; j < i; j++) {
      if(nums[j] < nums[i]) {
        f[i] = Math.max(f[i], f[j] + 1)
      }
    }
    ans = Math.max(ans, f[i]);
  }
  return ans;
};
// @lc code=end

